//GENERA ENTRADAS PARA EL PROBLEMA 4 Y LAS GUARDA EN EL ARCHIVO entrada.txt

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <time.h>
#include <vector>
#include <string>
using namespace std;



bool ya_existe(vector< vector <bool> > &adyacenciass, int n1, int n2)
{
  return (adyacenciass[n1][n2] == true || adyacenciass[n2][n1] == true);
}

void vaciar_vector(vector<vector<bool> > &adyacenciass, int n)
{
  for (int i = 0; i < n; i++)
  {
    for (int j = 0; j < n; j++)
    {
      adyacenciass[i][j] = false;
    }
  } 

}

int main()
{
  srand (time(NULL));
  int n;
  int m;
  int k;
  int v;
  int u;
  int cantidadDePruebas;
  ofstream myfile;




/* REGULABLEEE */
  n = 100;
  k = 200;
  u = 1;
  v = 10;
  m = 130;
  cantidadDePruebas = 1;
/* *********** */



  vector<vector<bool> > adyacencias(n, vector<bool>(n));
  

  
  myfile.open("entradas"); 

  for(int t = 0 ; t < cantidadDePruebas; t++)
  {

    vaciar_vector(adyacencias, n);


    myfile << n << " " << m << " " << u << " " << v << " " << k << endl;
    for (int j = 0; j < m; j++)
    {
      int n1 = rand() % n;
      int n2 = rand() % n;

      while(ya_existe(adyacencias, n1, n2) || n1 == n2)
      {
        n1 = rand() % n;
        n2 = rand() % n;
      }


      adyacencias[n1][n2] = true;
      adyacencias[n2][n1] = true;

      int w1 = rand() % (30) + 1;
      int w2 = rand() % (30) + 1;

      myfile << n1+1 << " " << n2+1 <<  " " << w1+1  << " " << w2+1 << endl;    
    }   
  }
  myfile << "0";
  myfile.close();
  return 0;
}